C++ by Herbert Schildt

C++ by Herbert Schildt

Author:Herbert Schildt
Language: eng
Format: epub
Publisher: McGraw-Hill Education
Published: 2004-03-18T05:00:00+00:00


This program produces the following output:

Progress Check

1. What are the bitwise operators for AND, OR, NOT, and XOR?

2. A bitwise operator works on a bit-by-bit basis. True or false?

3. Given an integer called x, show how to left-shift x two places.

Project 7-1 Create Bitwise Rotation Functions

Although C++ provides two shift operators, it does not define a rotate operator. A rotate is similar to a shift except that the bit shifted off one end is inserted onto the other end. Thus, bits are not lost, just moved. There are both left and right rotations. For example, 1010 0000 rotated left one place is 0100 0001. The same value rotated right one place is 0101 0000. In each case, the bit shifted out is inserted onto the other end. Although the lack of rotation operators may seem to be a flaw in C++’s otherwise exemplary complement of bitwise operators, it really isn’t, because you can easily create a left- and right-rotate by using the other bitwise operators.

This project creates two functions: rrotate( ) and lrotate( ), which rotate a byte in the right or left direction. Each function takes two parameters. The first is the value to be rotated. The second is the number of places to rotate. Each function returns the result. This project involves several bit manipulations and shows the bitwise operators in action.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.